﻿using System;

namespace KuiHuaBaoDian.Services.UGUI {

    public interface IUIExtend : IDisposable {

        void OnViewStart();

        void OnViewUpdate();

        void OnViewEnable();

        void OnViewDisable();

        void OnViewDestroy();
    }

    public abstract class KHBD_UIExtend : IUIExtend {

        protected IUI UI { get; private set; }

        protected KHBD_UIExtend(IUI ui) {
            UI = ui;
        }

        public virtual void OnViewDestroy() { }

        public virtual void OnViewDisable() { }

        public virtual void OnViewEnable() { }

        public virtual void OnViewStart() { }

        public virtual void OnViewUpdate() { }

        void IDisposable.Dispose() {
            UI = null;
        }
    }
}
